﻿#define _CRT_SECURE_NO_WARNINGS 1
#include "SList.h"

void testSList()
{
	SL* p = NULL;
	//SLprint(p);

	////尾插测试
	//SLPushBack(&p, 1);
	//SLPushBack(&p, 2);
	//SLPushBack(&p, 3);
	//SLPushBack(&p, 4);
	//SLprint(p);
	////尾删测试
	//SLPopBack(&p);
	//SLPopBack(&p);
	//SLprint(p);
	//SLPopBack(&p);
	//SLPopBack(&p);
	//SLprint(p);

	////头插测试
	//SLPushFront(&p, 6);
	//SLPushFront(&p, 7);
	//SLPushFront(&p, 8);
	//SLPushFront(&p, 9);
	//SLprint(p);
	////头删测试
	//SLTPopFront(&p);
	//SLTPopFront(&p);
	//SLprint(p);
	//SLTPopFront(&p);
	//SLTPopFront(&p);
	//SLprint(p);


	SLPushFront(&p, 2);
	SLPushFront(&p, 1);
	SLPushBack(&p, 3);
	SLPushBack(&p, 4);
	SLprint(p);


	////查找测试
	//SL* find = SLFind(p, 1);
	//find = SLFind(p, 99);
	//if (find)
	//{
	//	printf("%d \n", find->val);
	//}

	////指定位置之前插入测试
	//SL* find = SLFind(p, 1);
	//SLInsert(&p, find, 5);
	//SLprint(p);
	////删除pos节点测试
	//SLErase(&p, find);
	//SLprint(p);

	////在指定位置之后插入数据
	//SL* find = SLFind(p, 4);
	//SLInsertAfter(find, 9);
	//SLprint(p);
	////删除pos之后的节点测试
	//SLEraseAfter(find);
	//SLprint(p);

	//销毁链表测试
	SListDesTroy(&p);
	SLprint(p);

}

int main()
{
	testSList();
	return 0;
}